<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Parola for Arduino: src/MD_Parola_lib.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="MajicDesigns_Logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Parola for Arduino
   &#160;<span id="projectnumber">2.5</span>
   </div>
   <div id="projectbrief">Text effects for LED Matrix modular hardware</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('_m_d___parola__lib_8h.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a>  </div>
  <div class="headertitle">
<div class="title">MD_Parola_lib.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Contains internal library definitions.  
<a href="#details">More...</a></p>
<div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="_m_d___parola__lib_8h__dep__incl.png" border="0" usemap="#src_2_m_d___parola__lib_8hdep" alt=""/></div>
<map name="src_2_m_d___parola__lib_8hdep" id="src_2_m_d___parola__lib_8hdep">
<area shape="rect" id="node3" href="_m_d___parola_8cpp.html" title="Implements core MD_Parola class methods. " alt="" coords="5,80,139,107"/>
<area shape="rect" id="node5" href="_m_d___parola___blinds_8cpp.html" title="Implements blinds effect. " alt="" coords="163,80,339,107"/>
<area shape="rect" id="node7" href="_m_d___parola___close_8cpp.html" title="Implements closing effect. " alt="" coords="363,80,536,107"/>
<area shape="rect" id="node9" href="_m_d___parola___diag_8cpp.html" title="Implements diagonal scroll effect. " alt="" coords="561,80,727,107"/>
<area shape="rect" id="node11" href="_m_d___parola___dissolve_8cpp.html" title="Implements dissolve effect. " alt="" coords="751,80,939,107"/>
<area shape="rect" id="node13" href="_m_d___parola___fade_8cpp.html" title="Implements FADE effect. " alt="" coords="963,80,1132,107"/>
<area shape="rect" id="node15" href="_m_d___parola___grow_8cpp.html" title="Implements grow effects. " alt="" coords="1157,80,1328,107"/>
<area shape="rect" id="node17" href="_m_d___parola___h_scroll_8cpp.html" title="Implements horizontal scrolling effect. " alt="" coords="1353,80,1535,107"/>
<area shape="rect" id="node19" href="_m_d___parola___mesh_8cpp.html" title="Implements mesh effect. " alt="" coords="1559,80,1731,107"/>
<area shape="rect" id="node21" href="_m_d___parola___open_8cpp.html" title="Implements opening effect. " alt="" coords="1756,80,1927,107"/>
<area shape="rect" id="node23" href="_m_d___parola___print_8cpp.html" title="Implements static print effect. " alt="" coords="1951,80,2117,107"/>
<area shape="rect" id="node25" href="_m_d___parola___scan_8cpp.html" title="Implements scan effect. " alt="" coords="2143,80,2313,107"/>
<area shape="rect" id="node27" href="_m_d___parola___slice_8cpp.html" title="Implements slice effect. " alt="" coords="2338,80,2507,107"/>
<area shape="rect" id="node29" href="_m_d___parola___v_scroll_8cpp.html" title="Implements vertical scroll effect. " alt="" coords="2531,80,2713,107"/>
<area shape="rect" id="node31" href="_m_d___parola___wipe_8cpp.html" title="Implements wipe effect. " alt="" coords="2739,80,2909,107"/>
<area shape="rect" id="node33" href="_m_d___p_zone_8cpp.html" title="Implements MD_PZone class methods. " alt="" coords="2933,80,3067,107"/>
</map>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a8a073fd0c3460ed8ab512e3ef57d9533"><td class="memItemLeft" align="right" valign="top"><a id="a8a073fd0c3460ed8ab512e3ef57d9533"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___parola__lib_8h.html#a8a073fd0c3460ed8ab512e3ef57d9533">DEBUG_PAROLA</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:a8a073fd0c3460ed8ab512e3ef57d9533"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set to 1 to enable General debug output. <br /></td></tr>
<tr class="separator:a8a073fd0c3460ed8ab512e3ef57d9533"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a760146d4391ebc528bbd07b94bc23c"><td class="memItemLeft" align="right" valign="top"><a id="a1a760146d4391ebc528bbd07b94bc23c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___parola__lib_8h.html#a1a760146d4391ebc528bbd07b94bc23c">DEBUG_PAROLA_FSM</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:a1a760146d4391ebc528bbd07b94bc23c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set to 1 to enable Finite State Machine debug output. <br /></td></tr>
<tr class="separator:a1a760146d4391ebc528bbd07b94bc23c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5074ed4add7f6c0b8052896efd82cd3"><td class="memItemLeft" align="right" valign="top"><a id="ad5074ed4add7f6c0b8052896efd82cd3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___parola__lib_8h.html#ad5074ed4add7f6c0b8052896efd82cd3">TIME_PROFILING</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ad5074ed4add7f6c0b8052896efd82cd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set to 1 to enable Time Profile debug output. <br /></td></tr>
<tr class="separator:ad5074ed4add7f6c0b8052896efd82cd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1696fc35fb931f8c876786fbc1078ac4"><td class="memItemLeft" align="right" valign="top"><a id="a1696fc35fb931f8c876786fbc1078ac4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___parola__lib_8h.html#a1696fc35fb931f8c876786fbc1078ac4">PRINT</a>(s,  v)</td></tr>
<tr class="memdesc:a1696fc35fb931f8c876786fbc1078ac4"><td class="mdescLeft">&#160;</td><td class="mdescRight">(GENERAL) Print a string followed by a value (decimal) <br /></td></tr>
<tr class="separator:a1696fc35fb931f8c876786fbc1078ac4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf55b44e8497cbc3addccdeb294138cc"><td class="memItemLeft" align="right" valign="top"><a id="abf55b44e8497cbc3addccdeb294138cc"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___parola__lib_8h.html#abf55b44e8497cbc3addccdeb294138cc">PRINTX</a>(s,  v)</td></tr>
<tr class="memdesc:abf55b44e8497cbc3addccdeb294138cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">(GENERAL) Print a string followed by a value (hex) <br /></td></tr>
<tr class="separator:abf55b44e8497cbc3addccdeb294138cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad68f35c3cfe67be8d09d1cea8e788e13"><td class="memItemLeft" align="right" valign="top"><a id="ad68f35c3cfe67be8d09d1cea8e788e13"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___parola__lib_8h.html#ad68f35c3cfe67be8d09d1cea8e788e13">PRINTS</a>(s)</td></tr>
<tr class="memdesc:ad68f35c3cfe67be8d09d1cea8e788e13"><td class="mdescLeft">&#160;</td><td class="mdescRight">(GENERAL) Print a string <br /></td></tr>
<tr class="separator:ad68f35c3cfe67be8d09d1cea8e788e13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf86da1ce9b6dea2d021778a28094eba"><td class="memItemLeft" align="right" valign="top"><a id="aaf86da1ce9b6dea2d021778a28094eba"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___parola__lib_8h.html#aaf86da1ce9b6dea2d021778a28094eba">FSMPRINT</a>(s,  v)</td></tr>
<tr class="memdesc:aaf86da1ce9b6dea2d021778a28094eba"><td class="mdescLeft">&#160;</td><td class="mdescRight">(FSM) Print a string followed by a value (decimal) <br /></td></tr>
<tr class="separator:aaf86da1ce9b6dea2d021778a28094eba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae74f0a89f7ef7269320de8eba9733417"><td class="memItemLeft" align="right" valign="top"><a id="ae74f0a89f7ef7269320de8eba9733417"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___parola__lib_8h.html#ae74f0a89f7ef7269320de8eba9733417">FSMPRINTX</a>(s,  v)</td></tr>
<tr class="memdesc:ae74f0a89f7ef7269320de8eba9733417"><td class="mdescLeft">&#160;</td><td class="mdescRight">(FSM) Print a string followed by a value (hex) <br /></td></tr>
<tr class="separator:ae74f0a89f7ef7269320de8eba9733417"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3898cf26ef52d08df982da278c47fac8"><td class="memItemLeft" align="right" valign="top"><a id="a3898cf26ef52d08df982da278c47fac8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___parola__lib_8h.html#a3898cf26ef52d08df982da278c47fac8">FSMPRINTS</a>(s)</td></tr>
<tr class="memdesc:a3898cf26ef52d08df982da278c47fac8"><td class="mdescLeft">&#160;</td><td class="mdescRight">(FSM) Print a string <br /></td></tr>
<tr class="separator:a3898cf26ef52d08df982da278c47fac8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fda4e1a5122a16a21bd96ae5217402c"><td class="memItemLeft" align="right" valign="top"><a id="a3fda4e1a5122a16a21bd96ae5217402c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___parola__lib_8h.html#a3fda4e1a5122a16a21bd96ae5217402c">PRINT_STATE</a>(f)</td></tr>
<tr class="memdesc:a3fda4e1a5122a16a21bd96ae5217402c"><td class="mdescLeft">&#160;</td><td class="mdescRight">(FSM) Print the current FSM state information <br /></td></tr>
<tr class="separator:a3fda4e1a5122a16a21bd96ae5217402c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4acb985a82e65c24d9f55be537bf8f31"><td class="memItemLeft" align="right" valign="top"><a id="a4acb985a82e65c24d9f55be537bf8f31"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___parola__lib_8h.html#a4acb985a82e65c24d9f55be537bf8f31">LIGHT_BAR</a>&#160;&#160;&#160;(_inverted ? 0 : 0xFF)</td></tr>
<tr class="memdesc:a4acb985a82e65c24d9f55be537bf8f31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Turn display column to all LEDs on. <br /></td></tr>
<tr class="separator:a4acb985a82e65c24d9f55be537bf8f31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a491201bbed073a6dedc6274af58d4d93"><td class="memItemLeft" align="right" valign="top"><a id="a491201bbed073a6dedc6274af58d4d93"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___parola__lib_8h.html#a491201bbed073a6dedc6274af58d4d93">EMPTY_BAR</a>&#160;&#160;&#160;(_inverted ? 0xFF : 0)</td></tr>
<tr class="memdesc:a491201bbed073a6dedc6274af58d4d93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Turn display column to all LEDs off. <br /></td></tr>
<tr class="separator:a491201bbed073a6dedc6274af58d4d93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac74527a8ede30c7ae02f32b7a6ef5e4d"><td class="memItemLeft" align="right" valign="top"><a id="ac74527a8ede30c7ae02f32b7a6ef5e4d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___parola__lib_8h.html#ac74527a8ede30c7ae02f32b7a6ef5e4d">DATA_BAR</a>(d)&#160;&#160;&#160;(_inverted ? ~d : d)</td></tr>
<tr class="memdesc:ac74527a8ede30c7ae02f32b7a6ef5e4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Turn display column to specified data. <br /></td></tr>
<tr class="separator:ac74527a8ede30c7ae02f32b7a6ef5e4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96eea7631a186d5b36365c90ed697d16"><td class="memItemLeft" align="right" valign="top"><a id="a96eea7631a186d5b36365c90ed697d16"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___parola__lib_8h.html#a96eea7631a186d5b36365c90ed697d16">ZONE_START_COL</a>(m)&#160;&#160;&#160;(m*COL_SIZE)</td></tr>
<tr class="memdesc:a96eea7631a186d5b36365c90ed697d16"><td class="mdescLeft">&#160;</td><td class="mdescRight">The first column of the first zone module. <br /></td></tr>
<tr class="separator:a96eea7631a186d5b36365c90ed697d16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1470b74a1b8edbbe0427304c909eb116"><td class="memItemLeft" align="right" valign="top"><a id="a1470b74a1b8edbbe0427304c909eb116"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___parola__lib_8h.html#a1470b74a1b8edbbe0427304c909eb116">ZONE_END_COL</a>(m)&#160;&#160;&#160;(((m+1)*COL_SIZE)-1)</td></tr>
<tr class="memdesc:a1470b74a1b8edbbe0427304c909eb116"><td class="mdescLeft">&#160;</td><td class="mdescRight">The last column of the last zone module. <br /></td></tr>
<tr class="separator:a1470b74a1b8edbbe0427304c909eb116"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f93fc96c3a1d0111bbb8d10c826f2b4"><td class="memItemLeft" align="right" valign="top"><a id="a3f93fc96c3a1d0111bbb8d10c826f2b4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___parola__lib_8h.html#a3f93fc96c3a1d0111bbb8d10c826f2b4">ZE_SET</a>(b,  mask)&#160;&#160;&#160;((b &amp; ~mask) | mask)</td></tr>
<tr class="memdesc:a3f93fc96c3a1d0111bbb8d10c826f2b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">clear the bit then put it back in <br /></td></tr>
<tr class="separator:a3f93fc96c3a1d0111bbb8d10c826f2b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab42de492eb7f8f1715490364bcfee266"><td class="memItemLeft" align="right" valign="top"><a id="ab42de492eb7f8f1715490364bcfee266"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___parola__lib_8h.html#ab42de492eb7f8f1715490364bcfee266">ZE_RESET</a>(b,  mask)&#160;&#160;&#160;(b &amp; ~mask)</td></tr>
<tr class="memdesc:ab42de492eb7f8f1715490364bcfee266"><td class="mdescLeft">&#160;</td><td class="mdescRight">clear the bit <br /></td></tr>
<tr class="separator:ab42de492eb7f8f1715490364bcfee266"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcebb4365754fd4a586b1a9ef8d57ad8"><td class="memItemLeft" align="right" valign="top"><a id="adcebb4365754fd4a586b1a9ef8d57ad8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___parola__lib_8h.html#adcebb4365754fd4a586b1a9ef8d57ad8">ZE_TEST</a>(b,  mask)&#160;&#160;&#160;((b &amp; mask) != 0)</td></tr>
<tr class="memdesc:adcebb4365754fd4a586b1a9ef8d57ad8"><td class="mdescLeft">&#160;</td><td class="mdescRight">mask off the bit <br /></td></tr>
<tr class="separator:adcebb4365754fd4a586b1a9ef8d57ad8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86cdcfe3b6b8376543e78ceb5901f5a9"><td class="memItemLeft" align="right" valign="top"><a id="a86cdcfe3b6b8376543e78ceb5901f5a9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___parola__lib_8h.html#a86cdcfe3b6b8376543e78ceb5901f5a9">ZE_FLIP_UD_MASK</a>&#160;&#160;&#160;0x01</td></tr>
<tr class="memdesc:a86cdcfe3b6b8376543e78ceb5901f5a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">mask bit 0 <br /></td></tr>
<tr class="separator:a86cdcfe3b6b8376543e78ceb5901f5a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff6634f99953ac1d32cb641a5a84d1fb"><td class="memItemLeft" align="right" valign="top"><a id="aff6634f99953ac1d32cb641a5a84d1fb"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_m_d___parola__lib_8h.html#aff6634f99953ac1d32cb641a5a84d1fb">ZE_FLIP_LR_MASK</a>&#160;&#160;&#160;0x02</td></tr>
<tr class="memdesc:aff6634f99953ac1d32cb641a5a84d1fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">mask bit 1 <br /></td></tr>
<tr class="separator:aff6634f99953ac1d32cb641a5a84d1fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Contains internal library definitions. </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="_m_d___parola__lib_8h.html">MD_Parola_lib.h</a></li>
    <li class="footer">Generated on Mon Nov 14 2016 15:39:46 for Parola for Arduino by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.12 </li>
  </ul>
</div>
</body>
</html>
